package itheima05;

import org.apache.commons.dbutils.QueryRunner;
import org.junit.Test;
import utils.C3P0Util;

import java.sql.Connection;
import java.sql.SQLException;

/*


    核心类QueryRunner
    空参构造:
        public QueryRunner(): 可以直接创建对象,但是没有传递Connection连接对象
            所以该对象调用方法,执行增删改查时,必须传Connection连接对象
        执行增删改的方法:
            public int	update(Connection conn, String sql, Object... params) : 只能执行增删改,获取int结果,代表影响的行数
                参数:
                    1.Connection conn: 连接对象
                    2.String sql: sql语句,参数用?代替
                    3.Object... params: 可变参数,传递参数列表,数组,不传参  作用: 给sql中?进行赋值的

    步骤:
        1.空参创建QueryRunner对象
        2.QueryRunner对象调用update方法,传递连接对象,sql语句,以及给?赋值的具体的数据,执行增删改,获取结果
        3.处理结果

    自己练习: 删除
 */
/*public class Demo06DBUtils {
    //添加一条数据
    @Test
    public void addOne() throws SQLException {
        //1.空参创建QueryRunner对象
        QueryRunner qr = new QueryRunner();

        //sql语句
        String sql = "insert into users(uid,uname,upass) values(?,?,?)";
        //连接对象
        Connection con = C3P0Util.getConnection();

        //2.QueryRunner对象调用update方法,传递连接对象,sql语句,以及给?赋值的具体的数据,执行增删改,获取结果
        int result = qr.update(con, sql, "u005", "baoqiang", "baoqiang");

        //3.处理结果
        if(result>0) {
            System.out.println("添加一条记录成功");
        } else {
            System.out.println("添加一条记录失败");
        }
        C3P0Util.release(con,null,null);
    }
    //修改一条记录
    @Test
    public void updateOne() throws SQLException {
        //1.空参创建QueryRunner对象
        QueryRunner qr = new QueryRunner();

        //2.QueryRunner对象调用update方法,传递连接对象,sql语句,以及给?赋值的具体的数据,执行增删改,获取结果
        int result = qr.update(C3P0Util.getConnection(), "update users set upass=? where uid=?", "qiangbao", "u005");
        int result = qr.update(C3P0Util.getConnection(), "update users set upass=? where uid=?", "qiangbao", "u005");
        //3.处理结果
        if(result>0) {
            System.out.println("修改一条记录成功");
        } else {
            System.out.println("修改一条记录失败");
        }

    }
}*/


public class Demo06DBUtils {
    @Test
    public void addOne() throws SQLException {
        //1.空参创建QueryRunner对象
        QueryRunner queryRunner=new QueryRunner();
        //sql语句
        String sql="insert into users(uid,uname,upass) values (?,?,?)";
        //连接对象
        Connection connection=C3P0Util.getConnection();
        //2.QueryRunner对象调用update方法,传递连接对象,sql语句,以及给?赋值的具体的数据,执行增删改,获取结果
        int result=queryRunner.update(connection,sql,"u007","111","2222");
        //3.处理结果
        //1
        System.out.println(result);
        if(result>0){
            System.out.println("插入数据成功");
        }else {
            System.out.println("插入数据失败");
        }
       C3P0Util.release(connection,null,null);
    }

    @Test
    public void updateOne() throws SQLException {
        QueryRunner queryRunner=new QueryRunner();
        int result=queryRunner.update(C3P0Util.getConnection(),"insert into users(uid,uname,upass) values (?,?,?)","u009","wjr","wkr");
    if(result>0){
        System.out.println("插入一条数据成功");
    }else {
        System.out.println("插入一条数据失败");
    }
   }
}